package com.ruoyi.zq.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.zq.domin.ZqEntryBlank;
import com.ruoyi.common.zq.domin.vo.EntryBlankVO;
import com.ruoyi.zq.domin.dto.GradeDTO;

import javax.sql.rowset.serial.SerialException;
import java.util.List;

/**
 * 志愿活动报名
 *
 * @Author: LoneyFeather
 * @Date: Created in 14:09 2021/12/28
 */
public interface EntryBlankService extends IService<ZqEntryBlank> {


    /**
     * 取消报名
     * @param entryBlankDTO
     * @return
     */
    int cancelByEntity(ZqEntryBlank entryBlankDTO) throws SerialException;


    /**
     * 改变状态的一系列操作
     * @param entryBlankDTO
     * @return
     */
    int applyByPitchOn(ZqEntryBlank entryBlankDTO) throws SerialException;

    /**
     * 获取报名表数据
     * @param activityId
     * @return
     */
    List<EntryBlankVO> listByActivityId(Long activityId);

    /**
     * 进行评分和添加服务工时
     * @param gradeDTO
     * @return
     */
    int gradeByModel(GradeDTO gradeDTO);


    /**
     * 获取一个对象并修改为可以存储的实体
     * @param activityId
     * @param userId
     * @return
     */
    ZqEntryBlank updateOnModel(Long activityId, Long userId);

    ZqEntryBlank getInfo(ZqEntryBlank entryBlankDTO);

    /**
     * 修改所有状态
     * @param activityId
     * @return
     */
    int updatePitchOnByActivityId(Long activityId);

    /**
     * 评价页面获取数据
     * @param zqEntryBlankDTO
     * @return
     */
    List<EntryBlankVO> listEntryBlank(ZqEntryBlank zqEntryBlankDTO);
}
